// pages/sectionList/sectionList.js
Page({
    /**
     * 页面的初始数据
     */
    data: {
        industryName: '', // 行业名称
        industryIcon: '', // 行业图标
        positions: [], // 岗位分析数据
        resumeTips: [], // 简历要点
        templates: [], // 推荐模板
        successCases: [], // 成功案例
        isLoading: true // 加载状态
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        const { name } = options;
        this.setData({
            industryName: name
        });
        this.loadIndustryData(name);
    },

    /**
     * 加载行业数据
     * @param {string} industryName 行业名称
     */
    loadIndustryData(industryName) {
        wx.cloud.callFunction({
            name: 'getIndustryData',
            data: {
                industryName: industryName
            },
            success: res => {
                const result = res.result.data[0] || {};
                this.setData({
                    industryIcon: result.industryIcon,
                    positions: result.positions,
                    resumeTips: result.resumeTips,
                    successCases: result.successCases,
                    isLoading: false
                });
            },
            fail: err => {
                console.error('调用云函数失败:', err);
                wx.showToast({
                    title: '数据加载失败',
                    icon: 'none'
                });
                this.setData({
                    isLoading: false
                });
            }
        });

        // 新增调用getTemplatesByIndustry云函数
        wx.cloud.callFunction({
            name: 'getTemplatesByIndustry',
            data: {
                industryName: industryName
            },
            success: res => {
                if (res.result.code === 0) {
                    this.setData({
                        templates: res.result.templates,
                        isLoading: false
                    });
                } else {
                    console.error('获取模板数据失败:', res.result.message);
                    this.setData({
                        isLoading: false
                    });
                }
            },
            fail: err => {
                console.error('调用模板云函数失败:', err);
                this.setData({
                    isLoading: false
                });
            }
        });
    },

    /**
     * 用户点击模板
     */
    handleTemplateTap(e) {
        const { index } = e.currentTarget.dataset;
        const template = this.data.templates[index];

        wx.previewImage({
            current: template.imgPreview, // 当前显示图片的http链接
            urls: [template.imgPreview] // 需要预览的图片http链接列表
        });
    },

    // 复制模板链接
    copyTemplateLink(e) {
        const { index } = e.currentTarget.dataset;
        const template = this.data.templates[index];

        wx.showActionSheet({
            itemList: ['复制PDF简历模板链接', '复制Word简历模板链接'],
            success(res) {
                const fileType = res.tapIndex === 0 ? 'pdf' : 'word'
                const fileID = fileType === 'pdf'
                    ? template.fileidPdf
                    : template.fileid

                if (!fileID) {
                    wx.showToast({
                        title: '模板文件不存在',
                        icon: 'none'
                    })
                    return
                }

                wx.showLoading({
                    title: '获取下载链接中...',
                    mask: true
                })

                wx.cloud.callFunction({
                    name: 'getResumeUrl',
                    data: { fileID },
                    success(res) {
                        if (res.result.code === 0) {
                            const url = res.result.data.url
                            wx.setClipboardData({
                                data: url,
                                success: () => {
                                    wx.showModal({
                                        title: '复制成功',
                                        content: `下载链接已复制到剪贴板\n\n链接2分钟后失效，请及时下载\n\n文件名: ${template.title}.${fileType}`,
                                        showCancel: false,
                                        confirmText: '知道了'
                                    })
                                },
                                fail: (err) => {
                                    wx.showToast({
                                        title: '复制失败: ' + (err.errMsg || '未知错误'),
                                        icon: 'none'
                                    })
                                }
                            })
                        } else {
                            wx.showToast({
                                title: res.result.message || '获取下载链接失败',
                                icon: 'none'
                            })
                        }
                    },
                    fail(err) {
                        wx.showToast({
                            title: '获取下载链接失败',
                            icon: 'none'
                        })
                        console.error(err)
                    },
                    complete() {
                        wx.hideLoading()
                    }
                })
            },
            fail(res) {
                console.log(res.errMsg)
            }
        })
    },

    /***
     *  预览模板函数
     */
    handlePreviewTemplate(e) {
        const { index } = e.currentTarget.dataset;
        const template = this.data.templates[index];
        const fileidPdf = template.fileidPdf
        // 显示文档转换提示
        wx.showLoading({
            title: '文档转换中',
            mask: true
        });
        this.getTempFileURL(fileidPdf)
    },
    // 获取临时文件链接, 并打开文件
    getTempFileURL(fileidPdf) {
        if (!fileidPdf) {
            wx.hideLoading();
            console.error('缺少文件fileidPdf');
            return;
        }

        // 获取临时文件链接
        wx.cloud.getTempFileURL({
            fileList: [fileidPdf]
        }).then(res => {
            const fileInfo = res.fileList[0];
            if (fileInfo.tempFileURL) {
                const tempFileURL = fileInfo.tempFileURL;

                // 下载文件并打开
                wx.downloadFile({
                    url: tempFileURL,
                    success: function (res) {
                        const filePath = res.tempFilePath;
                        if (filePath) {
                            wx.openDocument({
                                filePath: filePath,
                                fileType: 'pdf',
                                success: function (res) {
                                    wx.hideLoading();
                                    console.log('打开文档成功');
                                },
                                fail: function (err) {
                                    wx.hideLoading();
                                    console.error('打开文档失败', err);
                                }
                            });
                        } else {
                            wx.hideLoading();
                            console.error('文件路径无效');
                        }
                    },
                    fail: function (err) {
                        wx.hideLoading();
                        console.error('下载失败', err);
                    }
                });
            } else {
                wx.hideLoading();
                console.error('获取临时链接失败', fileInfo);
            }
        }).catch(err => {
            wx.hideLoading();
            console.error('获取临时文件链接失败:', err);
        });


    },

    /**
     * 用户点击案例
     */
    handleCaseTap(e) {
        const { index } = e.currentTarget.dataset;
        const successCase = this.data.successCases[index];
        wx.showModal({
            title: `${successCase.name}的案例`,
            content: `优化前: ${successCase.before}\n优化后: ${successCase.after}\n面试反馈: ${successCase.feedback}`,
            showCancel: false
        });
    }
})